import java.util.LinkedList;


public abstract class Dispositivo {
	// Manejo de 8 bits
	// Velocidad de Transmicion
	// puede almacenar hasta 1 kbit de informacion
	// comunicacion serial
	// comunicacion asincrona
	ComunicacionBehavior comunicacionBehavior; // Declaro los atributos que tiene el dispositivo que son la comunicacion y la velocidad
	private int Velocidad;

	
	public void performComunicacion(Dispositivo dis1) {// delega el comportamiento a la clase
		comunicacionBehavior.comunicacion(dis1);
	}


	public void setComunicacion(ComunicacionBehavior comunicacionBehavior){ //seteo dependiendo de que dispositivo es
		this.comunicacionBehavior = comunicacionBehavior;
	}
	
	public void setVelocidad(int vel){//seteo dependiendo de que dispositivo es
		this.Velocidad = vel;
	}
	public int aumentarVelocidad(){
		
		return Velocidad ++;
	}
	public int disminuirVelocidad(){
		return Velocidad --;
	}
	public int mostrarVelocidad(){
		return this.Velocidad;
	}
}
